package com.heima.utils.thread;

import com.heima.user.pojo.User;

/**
 * 当前创建的线程用来存储自媒体用户信息，而不用session来存储
 * 因为线程更加隔离，数据得到保证。另外用户的每一次请求就是一个线程
 */
public class AppUserThreadLocalUtil {
    //创建了线程
    //这里的泛型取决于你要存储的数据类型，如果只是单纯的存储id，那么long或String就可
    //下面设置泛型为User，因为后面可能还用到了User的其它数据
    private final static ThreadLocal<User> USER_THREAD_LOCAL = new ThreadLocal<>();

    //存入线程
    public static void setUser(User user) {
        USER_THREAD_LOCAL.set(user);
    }

    //从线程中获取数据
    public static User getUser() {
        return USER_THREAD_LOCAL.get();
    }

    //销毁线程
    public static void clear() {
        USER_THREAD_LOCAL.remove();
    }
}
